package main

type SuperMarioState struct {
	mario *Mario
}

func (s *SuperMarioState) Name() string {
	return "草鸡马里奥"
}

// ObtainMushroom 草鸡马立奥遇到了蘑菇
func (s *SuperMarioState) ObtainMushroom() {
	// 	遇到蘑菇没有变化
}

// ObtainCape 遇到了斗篷
func (s *SuperMarioState) ObtainCape() {
	s.mario.score += 200
	s.mario.ChangeState(s.mario.capeMarioState)
}

// MeetMonster 遇到怪物
func (s *SuperMarioState) MeetMonster() {
	s.mario.score -= 100
	s.mario.ChangeState(s.mario.smallMarioState)
}
